package ve.gob.ine.censo.dao.ibatis;

import java.io.Reader;
import java.io.Serializable;

import javax.faces.bean.SessionScoped;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

@SessionScoped
public class Conexion implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3775100857484763437L;

	public static SqlSessionFactory sqlMapper;
	
	public static void initConexion() {
		try {
				String resource = "META-INF/sqlMapConfig.xml";
		        Reader reader = Resources.getResourceAsReader (resource);
		        sqlMapper = new SqlSessionFactoryBuilder().build(reader);
		} catch (Exception e) {
		         // Si hay un error en este punto, no importa cual sea. Será un error irrecuperable del cual
		         // nos interesará solo estar informados.
		         // Deberás registrar el error y reenviar la excepción de forma que se te notifique el
		         // problema de forma inmediata.
		        e.printStackTrace();
		        throw new RuntimeException ("Error initializing MyAppSqlConfig class. Cause: " + e);
		}
	}

	public static SqlSessionFactory config() {
		return sqlMapper;
	} 
}
